<!--

     Licensed to the Apache Software Foundation (ASF) under one
     or more contributor license agreements.  See the NOTICE file
     distributed with this work for additional information
     regarding copyright ownership.  The ASF licenses this file
     to you under the Apache License, Version 2.0 (the
     "License"); you may not use this file except in compliance
     with the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing,
     software distributed under the License is distributed on an
     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
     KIND, either express or implied.  See the License for the
     specific language governing permissions and limitations
     under the License.

-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- **************************************************************** -->
<!-- *  PLEASE KEEP COMPLICATED EXPRESSIONS OUT OF THESE TEMPLATES, * -->
<!-- *  i.e. only iterate & print data where possible. Thanks, Jez. * -->
<!-- **************************************************************** -->

<html>
<head>
    <!-- Generated by groovydoc (2.4.5) on Mon Sep 12 08:35:17 CEST 2016 -->
    <title>HashStrategy (Groovy Documentation)</title>
    <meta name="date" content="2016-09-12">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <link href="../../../../../../groovy.ico" type="image/x-icon" rel="shortcut icon">
    <link href="../../../../../../groovy.ico" type="image/x-icon" rel="icon">
    <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">

<body class="center">
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
    parent.document.title="HashStrategy (Groovy Documentation)";
}
//-->
</script>
<noscript>
    <div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
    <!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
    <!--   -->
</a>
    <ul class="navList" title="Navigation">
        <li><a href="../../../../../../overview-summary.html">Overview</a></li>
        <li><a href="package-summary.html">Package</a></li>
        <li class="navBarCell1Rev">Class</li>
        <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
        <li><a href="../../../../../../index-all.html">Index</a></li>
        <li><a href="../../../../../../help-doc.html">Help</a></li>
    </ul>
</div>

<div class="subNav">
    <div>
        <ul class="navList">
            <li><a href="../../../../../../index.html?io/vertx/groovy/ext/auth/mongo/HashStrategy" target="_top">Frames</a></li>
            <li><a href="HashStrategy.html" target="_top">No Frames</a></li>
        </ul>
    </div>
    <div>
        <ul class="subNavList">
            <li>Summary:&nbsp;</li>
            Nested&nbsp;&nbsp;&nbsp;Field&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<li><a href="#constructor_summary">Constructor</a></li>&nbsp;&nbsp;&nbsp;<li><a href="#method_summary">Method</a></li>&nbsp;&nbsp;&nbsp;
        </ul>
        <ul class="subNavList">
            <li>&nbsp;|&nbsp;Detail:&nbsp;</li>
            Field&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<li><a href="#constructor_detail">Constructor</a></li>&nbsp;&nbsp;&nbsp;<li><a href="#method_detail">Method</a></li>&nbsp;&nbsp;&nbsp;
        </ul>
    </div>
    <a name="skip-navbar_top">
        <!--   -->
    </a></div>
<!-- ========= END OF TOP NAVBAR ========= -->

<!-- ======== START OF CLASS DATA ======== -->
<div class="header">

    <div class="subTitle">Package: <strong>io.vertx.groovy.ext.auth.mongo</strong></div>

    <h2 title="[Groovy] Class HashStrategy" class="title">[Groovy] Class HashStrategy</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><ul class="inheritance"></ul></li><li>io.vertx.groovy.ext.auth.mongo.HashStrategy
</ul>
<div class="description">
    <ul class="blockList">
        <li class="blockList">



    <p> Determines how the hashing is computed in the implementation You can implement this to provide a different hashing
 strategy to the default.
</p>

          </li>
    </ul>
</div>

<div class="summary">
    <ul class="blockList">
        <li class="blockList">
        <!-- =========== NESTED CLASS SUMMARY =========== -->
        

        <!-- =========== ENUM CONSTANT SUMMARY =========== -->
        
        <!-- =========== FIELD SUMMARY =========== -->
        

        <!-- =========== PROPERTY SUMMARY =========== -->
        

        <!-- =========== ELEMENT SUMMARY =========== -->
        

        
        <!-- ======== CONSTRUCTOR SUMMARY ======== -->
        <ul class="blockList">
                <li class="blockList"><a name="constructor_summary"><!--   --></a>
                    <h3>Constructor Summary</h3>
                    <ul class="blockList">
                    <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructors Summary table">
                        <caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
                        <tr>
                            <th class="colFirst" scope="col">Constructor and description</th>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst">
                                <code><a href="#HashStrategy(java.lang.Object)">HashStrategy</a></strong>
                                (java.lang.Object delegate)</code><br></td>
                        </tr>
                        
                    </table>
                   </ul>
              </li>
        </ul>
        

        
        <!-- ========== METHOD SUMMARY =========== -->
        <ul class="blockList">
            
            <li class="blockList"><a name="method_summary"><!--   --></a>
                    <h3>Methods Summary</h3>
                    <ul class="blockList">
                    <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Methods Summary table">
                        <caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
                        <tr>
                            <th class="colFirst" scope="col">Type</th>
                            <th class="colLast" scope="col">Name and description</th>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code>java.lang.String</strong></code></td>
                            <td class="colLast"><code><strong><a href="#computeHash(java.lang.String, io.vertx.groovy.ext.auth.User)">computeHash</a></strong>(java.lang.String password, <a href='../../../../../../io/vertx/groovy/ext/auth/User.html'>User</a> user)</code><br>Compute the hashed password given the unhashed password and the user</td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code>java.lang.Object</strong></code></td>
                            <td class="colLast"><code><strong><a href="#getDelegate()">getDelegate</a></strong>()</code><br></td>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code>java.lang.String</strong></code></td>
                            <td class="colLast"><code><strong><a href="#getSalt(io.vertx.groovy.ext.auth.User)">getSalt</a></strong>(<a href='../../../../../../io/vertx/groovy/ext/auth/User.html'>User</a> user)</code><br>Retrieve the salt. </td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code><a href='../../../../../../HashSaltStyle.html'>HashSaltStyle</a></strong></code></td>
                            <td class="colLast"><code><strong><a href="#getSaltStyle()">getSaltStyle</a></strong>()</code><br>Get the defined io.vertx.groovy.ext.auth.mongo.HashSaltStyle of the current instance</td>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code>java.lang.String</strong></code></td>
                            <td class="colLast"><code><strong><a href="#getStoredPwd(io.vertx.groovy.ext.auth.User)">getStoredPwd</a></strong>(<a href='../../../../../../io/vertx/groovy/ext/auth/User.html'>User</a> user)</code><br>Retrieve the password from the user, or as clear text or as hashed version, depending on the definition</td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code>void</strong></code></td>
                            <td class="colLast"><code><strong><a href="#setExternalSalt(java.lang.String)">setExternalSalt</a></strong>(java.lang.String salt)</code><br>Set an external salt. </td>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code>void</strong></code></td>
                            <td class="colLast"><code><strong><a href="#setSaltStyle(HashSaltStyle)">setSaltStyle</a></strong>(<a href='../../../../../../HashSaltStyle.html'>HashSaltStyle</a> saltStyle)</code><br>Set the saltstyle as defined by io.vertx.groovy.ext.auth.mongo.HashSaltStyle.</td>
                        </tr>
                        
                    </table>
                   </ul>
              </li>
            
            <li class="blockList"><a name="method_summary"><!--   --></a>
                    <h3>Inherited Methods Summary</h3>
                    <ul class="blockList">
                    <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Inherited Methods Summary table">
                        <caption><span>Inherited Methods</span><span class="tabEnd">&nbsp;</span></caption>
                        <tr>
                            <th class="colFirst" scope="col">Methods inherited from class</th>
                            <th class="colLast" scope="col">Name</th>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code>class java.lang.Object</strong></code></td>
                            <td class="colLast"><code>java.lang.Object#wait(long, int), java.lang.Object#wait(long), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()</code></td>
                        </tr>
                    </table>
                   </ul>
              </li>
                
        </ul>
        
    </li>
    </ul>
</div>

<div class="details">
    <ul class="blockList">
        <li class="blockList">
           

            

            

            

            
            <!-- =========== CONSTRUCTOR DETAIL =========== -->
            <ul class="blockList">
                <li class="blockList"><a name="constructor_detail">
                    <!--   -->
                </a>
                    <h3>Constructor Detail</h3>
                    
                        <a name="HashStrategy(java.lang.Object)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4><strong>HashStrategy</strong>(java.lang.Object delegate)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                </li>
            </ul>
            


            
            <!-- =========== METHOD DETAIL =========== -->
            <ul class="blockList">
                <li class="blockList"><a name="method_detail">
                    <!--   -->
                </a>
                    <h3>Method Detail</h3>
                    
                        <a name="computeHash(java.lang.String, io.vertx.groovy.ext.auth.User)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>java.lang.String <strong>computeHash</strong>(java.lang.String password, <a href='../../../../../../io/vertx/groovy/ext/auth/User.html'>User</a> user)</h4>
                                <p> Compute the hashed password given the unhashed password and the user
   <DL><DT><B>Returns:</B></DT><DD>the hashed password</DD></DL><DL><DT><B>Parameters:</B></DT><DD><code>password</code> -  the unhashed password</DD><DD><code>user</code> -  the user to get the salt for. This paramter is needed, if the  is declared to be used</DD></DL></p>
                            </li>
                        </ul>
                    
                        <a name="getDelegate()"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>java.lang.Object <strong>getDelegate</strong>()</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="getSalt(io.vertx.groovy.ext.auth.User)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>java.lang.String <strong>getSalt</strong>(<a href='../../../../../../io/vertx/groovy/ext/auth/User.html'>User</a> user)</h4>
                                <p> Retrieve the salt. The source of the salt can be the external salt or the propriate column of the given user,
 depending on the defined io.vertx.groovy.ext.auth.mongo.HashSaltStyle
   <DL><DT><B>Returns:</B></DT><DD>null in case of  the salt of the user or a defined external salt</DD></DL><DL><DT><B>Parameters:</B></DT><DD><code>user</code> -  the user to get the salt for. This paramter is needed, if the  is declared to be used</DD></DL></p>
                            </li>
                        </ul>
                    
                        <a name="getSaltStyle()"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4><a href='../../../../../../HashSaltStyle.html'>HashSaltStyle</a> <strong>getSaltStyle</strong>()</h4>
                                <p> Get the defined io.vertx.groovy.ext.auth.mongo.HashSaltStyle of the current instance
   <DL><DT><B>Returns:</B></DT><DD>the saltStyle</DD></DL></p>
                            </li>
                        </ul>
                    
                        <a name="getStoredPwd(io.vertx.groovy.ext.auth.User)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>java.lang.String <strong>getStoredPwd</strong>(<a href='../../../../../../io/vertx/groovy/ext/auth/User.html'>User</a> user)</h4>
                                <p> Retrieve the password from the user, or as clear text or as hashed version, depending on the definition
   <DL><DT><B>Returns:</B></DT><DD>the password, either as hashed version or as cleartext, depending on the preferences</DD></DL><DL><DT><B>Parameters:</B></DT><DD><code>user</code> -  the user to get the stored password for</DD></DL></p>
                            </li>
                        </ul>
                    
                        <a name="setExternalSalt(java.lang.String)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>void <strong>setExternalSalt</strong>(java.lang.String salt)</h4>
                                <p> Set an external salt. This method should be used in case of
   <DL><DT><B>Parameters:</B></DT><DD><code>salt</code> -  the salt, which shall be used</DD></DL></p>
                            </li>
                        </ul>
                    
                        <a name="setSaltStyle(HashSaltStyle)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>void <strong>setSaltStyle</strong>(<a href='../../../../../../HashSaltStyle.html'>HashSaltStyle</a> saltStyle)</h4>
                                <p> Set the saltstyle as defined by io.vertx.groovy.ext.auth.mongo.HashSaltStyle.
   <DL><DT><B>Parameters:</B></DT><DD><code>saltStyle</code> -  the io.vertx.groovy.ext.auth.mongo.HashSaltStyle to be used</DD></DL></p>
                            </li>
                        </ul>
                    
                </li>
            </ul>
            
        </li>
    </ul>
</div>

<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
    <!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
    <!--   -->
</a>
    <ul class="navList" title="Navigation">
        <li><a href="../../../../../../overview-summary.html">Overview</a></li>
        <li><a href="package-summary.html">Package</a></li>
        <li class="navBarCell1Rev">Class</li>
        <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
        <li><a href="../../../../../../index-all.html">Index</a></li>
        <li><a href="../../../../../../help-doc.html">Help</a></li>
    </ul>
</div>

<div class="subNav">
    <div>
        <ul class="navList">
            <li><a href="../../../../../../index.html?io/vertx/groovy/ext/auth/mongo/HashStrategy" target="_top">Frames</a></li>
            <li><a href="HashStrategy.html" target="_top">No Frames</a></li>
        </ul>
    </div>
    <div>
        <ul class="subNavList">
            <li>Summary:&nbsp;</li>
            Nested&nbsp;&nbsp;&nbsp;Field&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<li><a href="#constructor_summary">Constructor</a></li>&nbsp;&nbsp;&nbsp;<li><a href="#method_summary">Method</a></li>&nbsp;&nbsp;&nbsp;
        </ul>
        <ul class="subNavList">
            <li>&nbsp;|&nbsp;Detail:&nbsp;</li>
            Field&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<li><a href="#constructor_detail">Constructor</a></li>&nbsp;&nbsp;&nbsp;<li><a href="#method_detail">Method</a></li>&nbsp;&nbsp;&nbsp;
        </ul>
    </div>
    <p>Groovy Documentation</p>
    <a name="skip-navbar_bottom">
        <!--   -->
    </a>
    </div>
</div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>